package hotel.hotel;

import hotel.exception.BuildingsMissingException;
import hotel.exception.NotEnoughPlaceException;

public interface IModifiableHotelsArea extends IHotelsArea {
	
	// COMMANDES
	
	/**
	 * Construit le prochain bâtiment sur la propriété property.
	 * @param property la propriété sur laquelle construire
	 * @throws NotEnoughPlaceException tous les bâtiments ont déjà été construits sur cette propriété.
	 */
	void build(IProperty property) throws NotEnoughPlaceException;
	
	/**
	 * Ajoute une base de loisirs sur la propriété property.
	 * @param property la propriété à laquelle ajouter une base de loisirs
	 * @throws BuildingsMissingException tous les bâtiments de property n'ont pas été construits.
	 * @throws NotEnoughPlaceException une base de loisirs a déjà été construite.
	 */
	void addFunArea(IProperty property) throws BuildingsMissingException, NotEnoughPlaceException;

}
